import PyInstaller.__main__
import os
import sys

def build_executable():
    """构建可执行文件"""
    
    # PyInstaller参数
    args = [
        'main.py',                    # 主程序文件
        '--onefile',                  # 打包成单个exe文件
        '--windowed',                 # 不显示控制台窗口
        '--name=CartoonViewer',       # 可执行文件名称
        '--icon=icon.ico',            # 图标文件
        '--add-data=icon.ico;.',      # 添加图标文件到打包
        '--add-data=config.ini;.',    # 添加配置文件到打包
        '--hidden-import=PyQt6.QtCore',
        '--hidden-import=PyQt6.QtGui',
        '--hidden-import=PyQt6.QtWidgets',
        '--hidden-import=configparser',
        '--hidden-import=PIL',
        '--hidden-import=PIL.Image',
        '--hidden-import=PIL.ImageQt',
        '--clean',                    # 清理临时文件
        '--noconfirm',               # 不询问确认
    ]
    
    print("开始打包...")
    print(f"参数: {' '.join(args)}")
    
    # 运行PyInstaller
    PyInstaller.__main__.run(args)
    
    print("打包完成！")
    print("可执行文件位置: dist/CartoonViewer.exe")

if __name__ == "__main__":
    build_executable()